FIG. 6 illustrates a configuration of a collision preventing device incorporated in a numerical control apparatus according to conventional art. Although a machine tool itself is not illustrated in the drawing, the machine tool includes a driving mechanism configured to change a relative position between a tool and a workpiece to be processed in two directions, i.e., a Z-axis and an X-axis.
A program interpretation unit 12 reads a part program 10 on a block-by-block basis to control the numerical control apparatus, and interprets command values such as a commanded path and a commanded feed speed, and then generates execution data that can be executed by a function generation unit 16. A buffer 14 stores the execution data generated by the program interpretation unit 12. The buffer 14 functions as a device capable of temporarily storing the execution data generated in advance by executing the above-described interpretation processing that takes a relatively long time. The buffer 14 can reduce a time difference relative to the time required for function generation of one block, and can realize smooth execution of the processing.
The function generation unit 16 successively reads the execution data stored in the buffer 14, and performs interpolation at constant time intervals (function generation periods) along the commanded path included in the execution data at the commanded feed speed until an interpolation point reaches a target position indicated by the execution data.
The function generation unit 16 converts the interpolation point into a moving command for a function generation period and divides the moving command into x-axis and Z-axis commands. An X-axis driving unit 17x includes an acceleration/deceleration unit 18x. A Z-axis driving unit 17z includes an acceleration/deceleration 18z. The acceleration/deceleration units 18x and 18Z can perform acceleration/deceleration processing at a predetermined time constant without giving any unnecessary impact on a workpiece in a machining operation, and send command signals to servo units 20x and 20z, respectively. The servo units 20x and 20z perform feedback control according to the given commands for respective motors that drive the machine based on detection signals of associated detectors (see a motor/detector 22x and a motor/detector 22z).
To prevent the machine tool from colliding with any interfering object, the apparatus illustrated in FIG. 6 does not execute function generation processing for a target block if it is determined that any collision may occur in the target block when the machine tool performs an operation according to the part program 10.
An interference checking unit 26 constructs a mobile member based on model data 24 in a virtual space, then moves the constructed mobile member along the commanded path included in the execution data, and checks for the possibility of any interference. The model data 24 is a data group including numerical values representing movable portions and variable portions of the machine tool, such as shapes of a machine tool body, feed shafts, tools, and workpieces. The interference checking unit 26 determines whether any interference may occur in each block, and successively stores predicted interference information as a part of the execution data in the buffer 14.
An execution managing unit 28 causes the function generation unit 16 to execute interpolation processing if no interference is detected in a presently executed block. On the other hand, the execution managing unit 28 inhibits the function generation unit 16 from executing interpolation processing if it is determined that any interference may occur, and generates a warning.
Citation List
Patent Literature 1
Japanese Patent Laid-Open Application No. 2006-59187